﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Claro.QuestionModel;

namespace Claro.AdminInterface
{
    public partial class frmEvento : Form
    {
        List<clsAssunto> Disponiveis;
        clsEvento evento;

        public frmEvento()
        {
            evento = clsEvento.getInstance();
            InitializeComponent();
            Disponiveis = clsAssunto.PreencherAssuntos();
            RefazBind();

        }

        private void RefazBind()
        {
            lstDisponiveis.DataSource = null;
            lstDisponiveis.DataSource = Disponiveis;
            lstDisponiveis.DisplayMember = "Descricao";

            lstInclusos.DataSource = null;
            lstInclusos.DataSource = evento.Assuntos;
            lstInclusos.DisplayMember = "Descricao";
        }

        private void btnCriar_Click(object sender, EventArgs e)
        {
            evento.Descricao = txtTitulo.Text;
            evento.Data = dtpDataEvento.Value;
            if (optCompeticao.Checked)
                evento.TipoEvento = TiposEventos.Competicao;
            else
                evento.TipoEvento = TiposEventos.Avaliacao;

            evento.Salvar();

            frmSorteioGrupo f = new frmSorteioGrupo();
            f.Show();
            //this.Hide();
            

        }

        private void btnFechar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnOneIn_Click(object sender, EventArgs e)
        {
            if (lstDisponiveis.SelectedItem == null)
                return;
            clsAssunto assunto = (clsAssunto)lstDisponiveis.SelectedItem;
            evento.Assuntos.Add(assunto);
            Disponiveis.Remove(assunto);
            RefazBind();

        }

        private void btnOneOut_Click(object sender, EventArgs e)
        {
            if (lstInclusos.SelectedItem == null)
                return;
            clsAssunto assunto = (clsAssunto)lstInclusos.SelectedItem;
            Disponiveis.Add(assunto);
            evento.Assuntos.Remove(assunto);
            RefazBind();
        }

        private void btnAllIn_Click(object sender, EventArgs e)
        {
            foreach (clsAssunto assunto in Disponiveis)
                evento.Assuntos.Add(assunto);
            Disponiveis.Clear();
            RefazBind();
        }

        private void btnAllOut_Click(object sender, EventArgs e)
        {
            foreach (clsAssunto assunto in evento.Assuntos)
                Disponiveis.Add(assunto);
            evento.Assuntos.Clear();
            RefazBind();
        }
    }
}
